Skip to content

Conversation

@jerryzj
Copy link
Collaborator

@jerryzj jerryzj commented Sep 24, 2024

  • This is the first PR of adding required extension of each intrinsic function support
  • There will be following PRs to add support for Float16 intrinsics and standard vector intrinsics

Signed-off-by: Jerry Zhang Jian [email protected]

eopXD and others added 30 commits June 4, 2024 13:15
Extracted reference as a separate adoc file.

Signed-off-by: eop Chen <[email protected]>
Define (non-segment/segment) load/store intrinsics for bfloat16 values
and also psuedo utility functions for manipulation across types.

Signed-off-by: eop Chen <[email protected]>
vfncvtbf16.f.f.w vd, vs2, vm
vfwcvtbf16.f.f.v vd, vs2, vm
vfwmaccbf16.vv vd, vs1, vs2, vm
vfwmaccbf16.vf vd, rs1, vs2, vm
- The following member functions will return NotImplemented if not
  implemented in derived classes to let user aware that the function
  call is not functioning
  - write()
  - write_title()
  - gen_prologue()
  - inst_group_prologue()
  - inst_group_epilogue()
  - post_gen()

- The func function is set as abstract method, all the derived classes
  shoule have their own implementation

- The original func implementation is copied to DocGenerator and
  APITestGenerator and replace the call of base func() implementation

Signed-off-by: Jerry Zhang Jian <[email protected]>
Signed-off-by: Jerry Zhang Jian <[email protected]>
Signed-off-by: Jerry Zhang Jian <[email protected]>
- Add a new field to store required extensions into a list
- Also added API functions to access/add/remove required extensions

Signed-off-by: Jerry Zhang Jian <[email protected]>
- setup-python@v5
- checkout@v4

Signed-off-by: Jerry Zhang Jian <[email protected]>
- checkout@v4

Signed-off-by: Jerry Zhang Jian <[email protected]>
- checkout@v4

Signed-off-by: Jerry Zhang Jian <[email protected]>
- upload-artifact@v4
- download-artifact@v4

Signed-off-by: Jerry Zhang Jian <[email protected]>
- get_required_zve() is used to generate required Zve* extension

Signed-off-by: Jerry Zhang Jian <[email protected]>
- These utility functions aims to remove all the implied extensions

- remove_implied_zve: remove Zve extensions that will be implied by
other Zve extensions

- remove_implied_zvl: remove Zvl extensions that specify shorter VLENs

- remove_duplicated_zvknh: Zvknh[a|b] is supposed to be mutually
exclusive

Signed-off-by: Jerry Zhang Jian <[email protected]>
- The test header is inserted when inst_group_epilogue() is called to
ensure all the required extensions are properly emitted to the test
header

- Add post-process steps to remove all the implied extensions from the
required extension list

Signed-off-by: Jerry Zhang Jian <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants